/*!
	@author Angéline Guignard & Adrien Megueddem
	@copyright Imagimp
	@language C
	@header Header de IHM
	    	Définition de l'IHM
	@updated 2012-12-17
*/

/*!
	@class ihm
	@discussion Cette classe ihm permet de définir l'interface graphique
		de notre programme imagimp.
*/

#ifndef _GLIMAGIMP__IHM_H___
#define _GLIMAGIMP__IHM_H___

#include "calque.h"

/****************
** Définitions **
****************/

/*!
	interface() permet de créer une interface.
	@result
		définit l'interface graphique du programme.
 */
void interface();

/*!
	refreshCalques() permet de rafraichir l'état des calques.
	@result
		Liste les calques et définit le calque courant.
 */
void refreshCalques(ListeCalques l, float w, float h);

/*!
	kbdFunc() permet de créer les écouteurs claviers des touches normales.
	@result
		Donne un résultat en print et execute ou non des fonctions selon la touche pressé.
 */
void kbdFunc(unsigned char c, int x, int y);

/*!
	kbdSpFunc() permet de créer les écouteurs claviers des touches spéciales.
	@result
		Donne un résultat en print et execute ou non des fonctions selon la touche pressé.
 */
void kbdSpFunc(int c, int x, int y);

/*!
	clickMouse() permet de créer les écouteurs de la souris en fonction de la position du curseur et du bouton cliqué.
	@result
		Donne un résultat en print et execute ou non des fonctions selon l'évènement souris.
 */
void clickMouse(int button,int state,int x,int y);

#endif
